import request from '@/config/axios'

// 项目管理 VO
export interface ManageProjectVO {
  id?: number // 编号
  createTime?: string // 创建时间
  name: string // 项目名称
  description?: string // 项目描述
  status?: string // 存活状态：意向、进行、交付、冻结
  progressStatus?: string // 进行状态：立项、交付中、已交付
  progress?: number // 项目进度百分比
  manager?: string // 项目负责人
  startDate?: string // 开始日期
  deadline?: string // 截止日期
  codeUrl?: string // 代码地址
  version?: string // 项目版本
  contentCount?: number // 内容资料数量
  resourceCount?: number // 项目资料数量
  meetingCount?: number // 会议记录数量
  technicalCount?: number // 技术文档数量
  documentCount?: number // 其他文档数量
}

// 项目管理分页查询参数
export interface ManageProjectPageReqVO {
  pageNo?: number
  pageSize?: number
  name?: string
  status?: string
  progressStatus?: string
  manager?: string
  startDate?: string[]
  deadline?: string[]
}

// 项目管理 API
export const ManageProjectApi = {
  // 查询项目管理分页
  getManageProjectPage: async (params: ManageProjectPageReqVO) => {
    return await request.get({ url: `/agent/manage-project/page`, params })
  },

  // 查询项目管理详情
  getManageProject: async (id: number) => {
    return await request.get({ url: `/agent/manage-project/get?id=` + id })
  },

  // 新增项目管理
  createManageProject: async (data: ManageProjectVO) => {
    return await request.post({ url: `/agent/manage-project/create`, data })
  },

  // 修改项目管理
  updateManageProject: async (data: ManageProjectVO) => {
    return await request.put({ url: `/agent/manage-project/update`, data })
  },

  // 删除项目管理
  deleteManageProject: async (id: number) => {
    return await request.delete({ url: `/agent/manage-project/delete?id=` + id })
  },

  // 导出项目管理 Excel
  exportManageProject: async (params: ManageProjectPageReqVO) => {
    return await request.download({ url: `/agent/manage-project/export-excel`, params })
  }
}